/*
 * Portfolio.h
 *
 *	This was a generic class used to represent a portfolio (a group of stocks, options etc.,)
 *
 *  Created on: Sep 30, 2009
 *      Author: karthik
 */

#ifndef PORTFOLIO_H_
#define PORTFOLIO_H_

#include <vector>
#include <iterator>
#include "Option.h"

class Portfolio{

private:
	std::vector < Option > optionsBought;	// vector of options that are bought (long).
	std::vector < Option > optionsSold;		// vector of options that are sold (short).
	double value;	//	Value of the portfolio

public:
	void addOption(Option opt, bool isBought);	//	Add an option to the portfolio.
	double getvalue(double spot, double volatility, Date date, std::vector<double>& stock_values);	// get value of portfolio.
};


#endif /* PORTFOLIO_H_ */
